package com.basics.demo;

import java.util.Scanner;

public class AITest {
    public static void main(String[] args) {
        //目标：健康测试系统

        //1.先让用户输入个人信息、身高、体重、性别、年龄
        Scanner person = new Scanner(System.in);
        System.out.println("请输入您的体重（kg)：");
        double weight = person.nextDouble();
        System.out.println("请输入您的身高（m)：");
        double height = person.nextDouble();
        System.out.println("请输入您的性别（男/女）：");
        String sex = person.next();
        System.out.println("请输入您的年龄：");
        int age = person.nextInt();

        //2.根据用户输入的信息，计算出用户的BMI指数（把用户的身高、体重传递给一个方法，方法计算出BMI指数）
        //BMI指数  BMI = 体重（kg）/身高^2（m）
        double bmi = bmiTest(weight, height);

        //3.根据用户的性别、年龄、BMI指数，计算出用户的BMR值（把用户的性别、年龄、BMI指数传递给一个方法，方法计算出BMR值）
        //男性：BMR = 10 * 体重（kg）+ 6.25 * 身高（cm）- 5 * 年龄（岁）+ 5
        //女性：BMR = 10 * 体重（kg）+ 6.25 * 身高（cm）- 5 * 年龄（岁）- 161
        double bmr = bmrTest(sex, age, weight, height);

        //4.打印出用户的BMI指数和BMR值
        System.out.println("您的BMI指数为：" + bmi + ",您的BMR值为：" + bmr);

        //5.判断用户bmi情况
        if (bmi < 18.5) {
            System.out.println("您的体重过轻！");
        } else if (bmi >= 18.5 && bmi < 24) {
            System.out.println("您的体重正常！");
        } else if (bmi >= 24 && bmi < 28) {
            System.out.println("您的体重过重！");
        } else {
            System.out.println("您的体重肥胖！");
        }

    }

    //BMI指数计算方法
    public static double bmiTest(double weight, double height) {
        return weight / (height * height);
    }

    //BMR指数计算方法
    public static double bmrTest(String sex, int age, double weight, double height) {
        height = height * 100;//将m转换为cm
        if (sex.equals("男")) {
            return 88.362 + (13.397 + weight + 4.799 + height - 5.677 * age);
        } else {
            return 447.593 + (9.247 + weight + 3.098 * height - 4.300 * age);
        }
    }

}
